#ifndef _TIME_H
#define _TIME_H

#include <string>
#include <sstream>
#include <vector>

using namespace std;

class Time
{
public:
	Time(void);
	Time(int, int,string);

	~Time(void);

	int getHour();
	int getMinutes();
	void setHour(int);
	void setMinutes(int);
	string getAmPm();
	void setAmPm(string);
	bool isGreaterThan(Time);
	bool getStartEndTime(string timeString, Time time[]);
	string formatTime();

private:
	int hour;
	int minutes;
	string am_pm;

	int findAmPm(string timeToBeTested);
	int findHyphen(string timeToBeTested);
	int hasAmPm(vector<string> tokenizedTime);

	bool isValidTime();
	bool equalsIgnoreCase(string str1, string str2);
	
	string toLower(string text);
	vector<string> tokenizeTime(string timeToTokenize);

	void timeStringToObject(string timeString);
};

#endif